var time = new Date().valueOf();
threads.start(function () {
    //在新线程执行的代码
    while (true) {
        sleep(1000)
        click("同意")
        if (id("detail_download_button").findOne(100)) {
            log("找到下载按钮")
            var 安装 = id("detail_download_button").findOne(2000)
            if (安装) {
                安装.click()
                sleep(2000)
                back()
                launchApp("华为视频")
            }
        }
        if (!device.isScreenOn()) {
            log("息屏了？？？？？？");
            device.wakeUp();
            swipe(190, 1300, 900, 600, 2000)
        }
    }

}
)

sleep(1000)



//华为视频自动下载("0408");
华为视频自动下载("0630");
threads.shutDownAll()




function 华为视频自动下载(id) {
    操作app("停止", "华为视频")
    操作app("清除", "华为视频")
   // 重置广告标识符();
    下载app(id);


}
function 下载app(id) {
    //启动华为视频
    操作app("启动", "华为视频")
    //判断是否进入活动页面
    while (true) {
        log("进入活动页面")
        sleep(10000);
        app.startActivity({
            action: "android.intent.action.VIEW",
            packageName: "com.huawei.himovie",
            data: "himovie://com.huawei.himovie/showcampaign?campaignid=himovie.jili." + id + "&needback=1&from=h5.explore"
        });
        if (textContains("免费").findOne(20000) && textContains("下应用").findOne(20000)) {
            break
        }
    }
    //判断抽奖次数是否是10 是就抽奖 否则下载
    if (text("10").findOne(20000)) {
        //下载次数为10 执行抽奖
        log("下载次数为10 执行抽奖")
        华为视频自动抽奖(id)
    } else {

        //判断下载体验按钮个数
        var 下载体验 = textContains("下载安装").find();
        var num = 下载体验.length
        log("下载体验按钮个数" + num)
        //多次获取num 避免有时未获取到

        for (var i = 5; i = 0; i--) {
            if (num > 0) {
                //下载体验不为空 终止循环
                log("下载体验不为空 终止循环")
                break
            } else {
                log("下载体验为空 重新获取")
                sleep(5000)
                下载体验 = textContains("下载安装").find();
                num = 下载体验.length

            }
        }
        if (num > 0) {
            //下载体验大于0点击下载 
            log("下载体验大于0点击下载")
            下载体验.click()
            sleep(1000)
            if (textContains("残忍拒绝").findOne(1000)) {
                log("残忍拒绝 执行抽奖")
                华为视频自动抽奖(id)
                return
            }
            //循环判断打开抽奖个数 等于下载体验个数时点击打开
            var 打开抽奖 = textContains("打开").find()
            var counts = 打开抽奖.length
            log("打开抽奖个数" + counts)
            var oldtime = new Date().valueOf();
            var newtime = new Date().valueOf();
            while (num != counts) {
                //等待10s 重新获取打开抽奖次数
                log("等待10s 重新获取打开抽奖次数")
                sleep(10000)
                打开抽奖 = textContains("打开").find()
                counts = 打开抽奖.length
                log("打开抽奖个数" + counts)
                newtime = new Date().valueOf();
                //下载超过20分钟 停止等待循环
                if (newtime - oldtime > 1200000) {
                    log("下载超过20分钟 停止等待循环")
                    break;
                }
            }
            //点击打开抽奖按钮 退回主页 卸载安装的app 
            打开抽奖.click()
            log("点击打开抽奖按钮 退回主页 卸载安装的app ")
            sleep(3000)
            home()
            sleep(3000)
            卸载app()
            //重复调用华为视频自动下载()
            华为视频自动下载(id)
        } else {
            //下载体验个数为0 重复调用华为视频自动下载()
            log("下载体验个数为0 重复调用华为视频自动下载()")
            华为视频自动下载(id)
        }




    }






}



function 华为视频自动抽奖(id) {
    log("开始抽奖")

    
    //抽奖次数不为0 循环抽奖

    while (!text("0").findOne(100)) {
        log("抽奖中")
        //点击抽奖
        var 抽奖 = className("android.widget.Image").text("joincamp").findOne(500);
        if (抽奖) {
            抽奖.click()
            click(500,1600)
        }else{
            click(500,1420)
        }
        //关闭中奖框
        click(547, 1419)
    }


}


function 重置广告标识符() {
    sleep(1000);
    app.startActivity({
        action: "android.intent.action.VIEW",
        data: "hwpps://oaid_setting",
        packageName: "com.huawei.hwid"
    });
    sleep(1000)
    click("重置广告标识符");
    sleep(1000);
    click("重置");
    sleep(3000);
}






function 操作app(操作, app名称) {
    var 包名 = getPackageName(app名称);
    log(包名)
    switch (操作) {
        case "启动":
            shell('am start ' + 包名, true);
            sleep(10000)
            break;
        case "清除":
            操作app("停止", "设置")
            log("停止设置完成")
            openAppSetting(包名);
            点击文字("存储");
            点击文字("删除数据");
            点击文字("确定");
            sleep(10000)
            break;
        case "卸载":
            shell('pm uninstall ' + 包名, true);
            sleep(10000)
            break;
        case "停止":
            shell('am force-stop ' + 包名, true);
            sleep(10000)
            break;
        default:
            log("默认")
    }
}



function 点击文字(文字) {
    sleep(1000);
    var 点击的文字 = textContains(文字).findOne(5000);
    if (点击的文字) {
        var x = 点击的文字.bounds().centerX();
        var y = 点击的文字.bounds().centerY();
        sleep(1000);
        click(x, y);
        console.log("已点击" + 文字);
    } else {
        console.log("未发现" + 文字);
    }

}

function 卸载app() {
    //sleep(30000);
    log("开始卸载");
    var pm = context.getPackageManager()
    var appList = pm.getInstalledApplications(0)

    for (let i = 0; i < appList.size(); i++) {
        var app_ = appList.get(i)
        var appInfo = {
            appName: app_.loadLabel(pm),
            packageName: app_.packageName,
            isSystemApp: app_.isSystemApp(),
            lastUpdateTime: pm.getPackageInfo(app_.packageName, 0).lastUpdateTime
        }
        if (appInfo.lastUpdateTime > time) {
            console.log(appInfo.appName + "卸载中");

            操作app("卸载", appInfo.appName)
        }
    }



    sleep(15000);
    log("卸载完成");

}








